/* vim: set ts=2 et sw=2 cindent fo=qroca: */

package com.globant.google.mendoza.malbec;

import com.globant.google.mendoza.malbec.schema._2.
AuthorizationAmountNotification;
import com.globant.google.mendoza.malbec.schema._2.ChargeAmountNotification;
import com.globant.google.mendoza.malbec.schema._2.ChargebackAmountNotification;
import com.globant.google.mendoza.malbec.schema._2.MerchantCalculationCallback;
import com.globant.google.mendoza.malbec.schema._2.NewOrderNotification;
import com.globant.google.mendoza.malbec.schema._2.ObjectFactory;
import com.globant.google.mendoza.malbec.schema._2.OrderStateChangeNotification;
import com.globant.google.mendoza.malbec.schema._2.RefundAmountNotification;
import com.globant.google.mendoza.malbec.schema._2.RiskInformationNotification;

/** This object contains factory methods for each Java element corresponding to
 * a gbuy notification.
 *
 * Each of the objects created by this factory implements the
 * NotificationFirerer interface.
 */
public final class NotificationObjectFactory extends ObjectFactory {

    /** Creates an instance of {@link NewOrderNotificationFirerer}.
     *
     * @return Returns a newly created NewOrderNotificationFirerer.
     */
    public NewOrderNotification createNewOrderNotification() {
        return new NewOrderNotificationFirerer();
    }

    /** Creates an instance of {@link OrderStateChangeNotificationFirerer}.
     *
     * @return Returns a newly created OrderStateChangeNotificationFirerer.
     */
    public OrderStateChangeNotification createOrderStateChangeNotification() {
        return new OrderStateChangeNotificationFirerer();
    }

    /** Creates an instance of {@link RiskInformationNotificationFirerer}.
     *
     * @return Returns a newly created RiskInformationNotificationFirerer.
     */
    public RiskInformationNotification createRiskInformationNotification() {
        return new RiskInformationNotificationFirerer();
    }

    /** Creates an instance of {@link ChargeAmountNotificationFirerer}.
     *
     * @return Returns a newly created ChargeAmountNotificationFirerer.
     */
    public ChargeAmountNotification createChargeAmountNotification() {
        return new ChargeAmountNotificationFirerer();
    }

    /** Creates an instance of {@link RefundAmountNotificationFirerer}.
     *
     * @return Returns a newly created RefundAmountNotificationFirerer.
     */
    public RefundAmountNotification createRefundAmountNotification() {
        return new RefundAmountNotificationFirerer();
    }

    /** Creates an instance of {@link ChargebackAmountNotificationFirerer}.
     *
     * @return Returns a newly created ChargebackAmountNotificationFirerer.
     */
    public ChargebackAmountNotification createChargebackAmountNotification() {
        return new ChargebackAmountNotificationFirerer();
    }

    /** Creates an instance of {@link MerchantCalculationCallbackFirerer}.
     *
     * @return Returns a newly created MerchantCalculationCallbackFirerer.
     */
    public MerchantCalculationCallback createMerchantCalculationCallback() {
        return new MerchantCalculationCallbackFirerer();
    }

    /** Creates an instance of {@link AuthorizationAmountNotificationFirerer}.
    *
    * @return Returns a newly created AuthorizationAmountNotificationFirerer.
    */
    public AuthorizationAmountNotification
    createAuthorizationAmountNotification() {
      return new AuthorizationAmountNotificationFirerer();
    }
}

